#ifndef _BOUNDARY_VAL_H
#define _BOUNDARY_VAL_H

#include <string.h>

#include "cfd_utils.h"

/**
 * The boundary values for the arrays U and V are set according to the formulas (14) and (15) in worksheet 1.
 * @param	imax			Number of interior cells in x-direction
 * @param	jmax			Number of interior cells in y-direction
 * @param	U			The velocity in x-direction
 * @param	V			The velocity in y-direction
 * @param	driving_velocity	The driving velocity
 *	
 * @author Mohamed Ibrahim
 */
void boundaryvalues (
                    int imax,
                    int jmax,
                    double **U,
                    double **V,
                    int wl,
                    int wr,
                    int wt,
                    int wb,
                    char *problem,
                    int **Flag,
                    double driving_velocity
		    );

/**
 * Specifies all the special boundary conditions for the scenarios.
 * @param	problem		The problem name
 * @param	imax			imax Number of interior cells in x-direction
 * @param	jmax			Number of interior cells in y-direction
 * @param	U			The velocity in x-direction
 * @param	V			The velocity in y-direction
 * @param	driving_velocity	The value of the velocity
 */
void spec_boundary_val(
			char *problem,
			int imax,
			int jmax,
			double **U,
			double **V,
			double driving_velocity
			);


#endif


